open Analysis
open Utils
open Cfg

(** [go_step filename] interpréte le programme WHILE représenté en
    syntaxe concrète dans le fichier de nom [filename]. *)
let run file =
  print_endline "----------" ;
  let prog = Utils.parse file in
    print_string("Prog init : ");
    print_int (init prog);
    print_endline("");
    print_string("Prog final : ");
    print_list_int (final prog);
    print_endline("");
    print_string("Prog labels : ");
    print_list_int (labels prog);
    print_endline("");
    print_string("Prog flow : ");
    print_list_couple_int (flow prog);
    print_endline("");
    print_endline "----------" ;
    analyse prog;
    print_endline "----------" 

(** () fonction main *)
let () =
  let file = try 
  	Sys.argv.(1) 
  with _ -> 
  	print_endline ("Missing argument");
  	raise Exit 
  in
  	run file
